Поле установки связи нам могут вернуть некоторые данные. Все зависит конечно от протокола и сервера. Мы попробуем на основе почтового протокола SMTP который описан в RFC 821. После установки соединения с сокетом на сервере сокет возвращает некоторую информацию о соединении. Вот ее мы и хотим посмотреть. На диалоговое окно я поместил элемент управления ListBox

Для получения сообщения от сокета есть функция
virtual int Receive( void* lpBuf, int nBufLen, int nFlags = 0 );
Если без ошибок, то функция вернет количество принятых байтов иначе вернет 0. Давайте ее применим.
void CTestConnectDlg::OnConnect()
{
WSADATA wsaData;
if (!AfxSocketInit(&wsaData))
{
AfxMessageBox("Error Unit");
return;
}
CSocket sa;
sa.Create();
if (sa.Connect("pop.yandex.ru",25))
{
char buffer[255];
sa.Receive(buffer,sizeof(buffer));
m_Reserve.AddString(buffer);
}
else AfxMessageBox("Error Connect");
sa.Close();
}
Связываемся и смотрим.

Вот он нам и рассказал о себе.